package com.cute.leetcode.editor.cn;

import java.util.*;

public class HJ68成绩排序 {
    /**
     * 对学生的成绩进行排序，flag = 0时降序，1时升序
     * 成绩相同时保持添加顺序
     */
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        Map<Integer, String> map = new HashMap<>();// 保存所有下标对应的姓名
        while (sc.hasNextLine()){
            int n = Integer.parseInt(sc.nextLine());
            int flag = Integer.parseInt(sc.nextLine());
            int[][] scores = new int[n][2];
            for (int i = 0; i < n; i++){
                String name = sc.next();
                int score = sc.nextInt();
                sc.nextLine();
                scores[i][0] = i;// 保存下标
                scores[i][1] = score;// 保存成绩
                map.put(i, name);// 使用i来保存每个人的姓名
            }
            if (flag == 0) Arrays.sort(scores,(a, b) -> b[1] - a[1]);// 成绩降序
            else Arrays.sort(scores,(a, b) -> a[1] - b[1]);// 成绩升序
            for (int i = 0; i < n; i++)
                // 按照排序之后的下标取出姓名以及成绩
                System.out.println(map.get(scores[i][0]) + " " + scores[i][1]);
        }
    }
}
